<?php
	class CategoryController extends CommonController{
		
		/**
		 * 显示具体分类页面
		 */
		public function index(){
			$cid = isset($_GET['cid'])?(int)$_GET['cid']:0;
			$status = isset($_GET['status'])?(int)$_GET['status']:0;
			//显示头部数据
			$this->getHeadData();
			//显示用户数据			
			$this->getUserInfo();
			//查询相应的pid为cid的相应的下方的子分类
			$cate = D('Category');
			//当没有传入任何参数的时候那么默认显示 所有的顶级分类
			if(!$cid){
				$rows = $cate->topCate();
			}else{
				$rows = $cate->getCate($cid);	
			}
			//判断当前分类下是否还存在分类如果不存在那么就将他的
			//同一分类的分类打印出来
			if(empty($rows)){
				$currentPid = $cate->getPid($cid)['pid'];
				$rows = $cate->getCate($currentPid);
			}
			/**
			 * 回头再解决   遍历这个分类 下所有子分类的提问信息
			 */
			if(!empty($cid)){
				
//				var_dump($this->getpids($cid));	
			}
			$this->assign("currcid",$cid);
			
			$this->assign("status",$status);
			$this->assign('cateToAsk',$this->getCateAsk($cid,$status));
			$this->assign('cateRow',$rows);	
			//返回今天回答数最多的人
			$this->todayMoreAnswer();
			//历史回答数最多的用户
			$this->historyMore();
			//采纳数最多的用户
			$this->accept();
			$this->getMbx();	
			$this->display();
		}
		
		
		/**
		 * 获得所有的导航父级导航做面包屑导航
		 */
		 
		 public function getMbx(){
		 	if(!empty($_GET['cid'])){
		 		$cid = (int)$_GET['cid'];
				//获得所有分类表数据
				$cates = D('category')->getAllCate();
				$mbx = $this->getCates($cates,$cid);
				$this->assign('mbx',$mbx);		
		 	}
			
		 }
		 
		 /**
		  * 递归获得当前分类 的PID
		  */
		  private function getpids($cid){
		 		$cid = (int)$_GET['cid'];
				//获得所有分类表数据
				$cates = D('category')->getAllCate();
				$cids = $this->getCates($cates,$cid);
//				var_dump($cids);			
		 }	 
		
		/**
		 * 返回当前分类下方的信息默认返回未解决的信息
		 * 如果没有传入任何参数那么将随机从分类中抽取未处理或指定状态的信息
		 */
		 protected function getCateAsk($cid=0,$status=0){
		 	//当cid为空和status为0时默认从所有的分类中抽取相关的问题
		 	$sql='';
			$where='';
		 	if($cid==0){
		 		if($status==0){
					//当等于0表示显示所有没有解决的问题
					$where .= 'solve=0';		 				
				}else if($status==1){
					//当等于1表示已经解决的问题
					$where .= 'solve=1';
				}else if($status==2){
					//当等于2表示高悬赏
					$where .= 'reward>=5';
				}else if($status==3){
					//当等于3表示0回答
					$where .= 'answer=0';
				}
		 		
		 	}else{
		 		//如果有传入分类ID那么就去查找相应分类ID下方相应的问题
		 		if($status==0){
					//当等于0表示显示所有没有解决的问题
					$where .= 'a.cid='.$cid.' AND solve=0';		 				
				}else if($status==1){
					//当等于1表示已经解决的问题
					$where .= 'a.cid='.$cid.' AND solve=1';
				}else if($status==2){
					//当等于2表示高悬赏
					$where .= 'a.cid='.$cid.' AND reward>=5';
				}else if($status==3){
					//当等于3表示0回答
					$where .= 'a.cid='.$cid.' AND answer=0';
				}
		 	}
			
							
		 	$sql = "SELECT * FROM hd_ask as a JOIN hd_category as c ON a.cid=c.cid WHERE {$where} ORDER BY rand(),time DESC LIMIT 10";
		 
			$model = D('category');
			$result = $model->query($sql);
			return $result;
//			$this->assign('cateToAsk',$result);
//			var_dump($result);
		 }
		
		/**
		 * ajax查询分类的提问
		 */
		 public function ajaxAsk(){
		 	
		 	$cid = isset($_GET['cid'])?(int)$_GET['cid']:0;
			$status = isset($_GET['status'])?(int)$_GET['status']:0;
		 	$result = $this->getCateAsk($cid,$status);
			echo json_encode($result);
		 }
		
		
	}
